home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Tools⁄Additions / TextPertDK#1 / MPW C Sources & Examples.image / Example2 / Example2.a < prev    next >
Text File  |  1989-10-13  |  3KB  |  84 lines

  1. ;
  2. ;    Apple Macintosh Developer Technical Support
  3. ;
  4. ;    MultiFinder-Aware TextEdit Sample Application
  5. ;
  6. ;    TESample
  7. ;
  8. ;    TESampleGlue.a    -    Assembler Source
  9. ;
  10. ;    Copyright © 1989 Apple Computer, Inc.
  11. ;    All rights reserved.
  12. ;
  13. ;    Versions:    
  14. ;                1.00                08/88
  15. ;                1.01                11/88
  16. ;                1.02                04/89    MPW 3.1
  17. ;
  18. ;    Components:
  19. ;                TESample.p            April 1, 1989
  20. ;                TESample.c            April 1, 1989
  21. ;                TESampleGlue.a        April 1, 1989
  22. ;                TESample.r            April 1, 1989
  23. ;                TESample.h            April 1, 1989
  24. ;                [P]TESample.make    April 1, 1989
  25. ;                [C]TESample.make    April 1, 1989
  26. ;
  27. ;    TESample is an example application that demonstrates how 
  28. ;    to initialize the commonly used toolbox managers, operate 
  29. ;    successfully under MultiFinder, handle desk accessories and 
  30. ;    create, grow, and zoom windows. The fundamental TextEdit 
  31. ;    toolbox calls and TextEdit autoscroll are demonstrated. It 
  32. ;    also shows how to create and maintain scrollbar controls.
  33. ;
  34. ;    It does not by any means demonstrate all the techniques you 
  35. ;    need for a large application. In particular, Sample does not 
  36. ;    cover exception handling, multiple windows/documents, 
  37. ;    sophisticated memory management, printing, or undo. All of 
  38. ;    these are vital parts of a normal full-sized application.
  39. ;
  40. ;    This application is an example of the form of a Macintosh 
  41. ;    application; it is NOT a template. It is NOT intended to be 
  42. ;    used as a foundation for the next world-class, best-selling, 
  43. ;    600K application. A stick figure drawing of the human body may 
  44. ;    be a good example of the form for a painting, but that does not 
  45. ;    mean it should be used as the basis for the next Mona Lisa.
  46. ;
  47. ;    We recommend that you review this program or Sample before 
  48. ;    beginning a new application. Sample is a simple app. which doesn’t 
  49. ;    use TextEdit or the Control Manager.
  50. ;
  51.  
  52. ;
  53. ;    AsmClikLoop
  54. ;
  55. ;    This routine gets called by the TextEdit Manager from TEClick.
  56. ;    It calls the old, default click loop routine that scrolls the
  57. ;    text, and then calls our own Pascal routine that handles
  58. ;    tracking the scroll bars to follow along.  It doesn't bother
  59. ;    with saving registers A0 and D0, because they are trashed
  60. ;    anyway by TextEdit.
  61. ;
  62.  
  63. AsmClikLoop    PROC        EXPORT
  64.  
  65.             IMPORT        GETOLDCLIKLOOP
  66.             IMPORT        PASCALCLIKLOOP
  67.             
  68.             MOVEM.L        D1-D2/A1,-(SP)        ; D0 and A0 need not be saved
  69.             CLR.L        -(SP)                ; make space for procedure pointer
  70.             JSR            GETOLDCLIKLOOP        ; get the old clikLoop
  71.             MOVEA.L        (SP)+,A0            ; into A0
  72.             MOVEM.L        (SP)+,D1-D2/A1        ; restore the world as it was
  73.             
  74.             JSR            (A0)                ; and execute old clikLoop
  75.  
  76.             MOVEM.L        D1-D2/A1,-(SP)        ; D0 and A0 need not be saved
  77.             JSR            PASCALCLIKLOOP        ; do our clikLoop
  78.             MOVEM.L        (SP)+,D1-D2/A1        ; restore the world as it was
  79.             MOVEQ        #1,D0                ; clear the zero flag so TextEdit keeps going
  80.             RTS
  81.  
  82.             END 
  83.  
  84.